// 导入数据库操作模块
const db = require('../db/index')

// 当前时间
const getNowDate=()=> {
  var date = new Date();
  var sign2 = ":";
  var year = date.getFullYear() // 年
  var month = date.getMonth() + 1; // 月
  var day = date.getDate(); // 日
  var hour = date.getHours(); // 时
  var minutes = date.getMinutes(); // 分
  var seconds = date.getSeconds() //秒
  var weekArr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天'];
  var week = weekArr[date.getDay()];
   // 给一位数的数据前面加 “0”
  if (month >= 1 && month <= 9) {
       month = "0" + month;
  }
   if (day >= 0 && day <= 9) {
       day = "0" + day;
   }
   if (hour >= 0 && hour <= 9) {
    hour = "0" + hour;
    }
  if (minutes >= 0 && minutes <= 9) {
     minutes = "0" + minutes;
   }
  if (seconds >= 0 && seconds <= 9) {
     seconds = "0" + seconds;
 }
return year + "-" + month + "-" + day + " " + hour + sign2 + minutes + sign2 + seconds;
}



exports.getlist = (req, res) => {
  // 根据分类的状态，获取所有未被删除的分类列表数据
  // is_delete 为 0 表示没有被 标记为删除 的数据
  const sql = 'select * from commonity'
  db.query(sql, (err, results) => {
    // 1. 执行 SQL 语句失败
    if (err) return res.cc(err)

    // 2. 执行 SQL 语句成功
    res.send({
      status: 0,
      message: '获取文章分类列表成功！',
      data: results,
    })
  })
}


// 添加图片
// 新增文章分类的处理函数
exports.AddList = (req, res) => {

  // 定义查询 分类名称 与 分类别名 是否被占用的 SQL 语句
  // TODO：新增文章分类
  // 定义查询 分类名称 与 分类别名 是否被占用的 SQL 语句
  const sql = `insert into commonity set ?`
  db.query(sql, Object.assign(req.body.ruleform,{timer:getNowDate()}), (err, results) => {
    // SQL 语句执行失败
    if (err) return res.cc(err)

    // SQL 语句执行成功，但是影响行数不等于 1
    if (results.affectedRows !== 1) return res.cc('新增商品失败！')

    // 新增文章分类成功
    res.cc('添加商品成功！', 0)
  })
}


// 修改
exports.updateList = (req, res) => {
  // 定义查询 分类名称 与 分类别名 是否被占用的 SQL 语句

  // TODO：更新文章分类
  const sql = `update commonity set ? where id=?`
  db.query(sql, [req.body.ruleForm, req.body.ruleForm.id], (err, results) => {
    // 执行 SQL 语句失败
    if (err) return res.cc(err)

    // SQL 语句执行成功，但是影响行数不等于 1

    // 更新文章分类成功
    res.cc('更新商品成功！', 0)
  })
}

// 修改num
exports.updateList = (req, res) => {
  // 定义查询 分类名称 与 分类别名 是否被占用的 SQL 语句

  // TODO：更新文章分类
  const sql = `update commonity set ? where id=?`
  db.query(sql, [req.body.ruleForm, req.body.ruleForm.id], (err, results) => {
    // 执行 SQL 语句失败
    if (err) return res.cc(err)

    // SQL 语句执行成功，但是影响行数不等于 1

    // 更新文章分类成功
    res.cc('更新商品成功！', 0)
  })
}
// 删除
exports.removeList = (req, res) => {
  const sql = `delete from commonity where id=?`
  db.query(sql, req.body.id, (err, results) => {
    // 执行 SQL 语句失败
    if (err) return res.cc(err)


    // 删除文章分类成功
    res.cc('删除商品成功！', 0)
  })
}

// 获取所有数据(回收站)
exports.getAllList = (req, res) => {
  // 根据分类的状态，获取所有未被删除的分类列表数据
  // is_delete 为 0 表示没有被 标记为删除 的数据
  const sql = 'select * from active_cate  where is_delete=1 order by id asc'
  db.query(sql, (err, results) => {
    // 1. 执行 SQL 语句失败
    if (err) return res.cc(err)

    // 2. 执行 SQL 语句成功
    res.send({
      status: 0,
      message: '获取全部商品列表成功！',
      data: results,
    })
  })
}

// 彻底删除
exports.deleteList = (req, res) => {
  const sql = `delete from active_cate where id=?`
  db.query(sql, req.body.id, (err, results) => {
    // 执行 SQL 语句失败
    if (err) return res.cc(err)


    // 删除文章分类成功
    res.cc('删除商品成功！', 0)
  })
}


// 恢复商品
exports.recoverList = (req, res) => {
  const sql = `update active_cate set is_delete=0 where id=?`
  db.query(sql, req.body.id, (err, results) => {
    // 执行 SQL 语句失败
    if (err) return res.cc(err)


    // 删除文章分类成功
    res.cc('恢复商品成功！', 0)
  })
}

  // 出售中的商品
  exports.checkTrue=(req,res)=>{
  const sql = 'select * from active_cate  where putaway=1 and is_delete=0 and checkFlag=1 order by id asc'
  db.query(sql, (err, results) => {
    // 1. 执行 SQL 语句失败
    if (err) return res.cc(err)

    // 2. 执行 SQL 语句成功
    res.send({
      status: 0,
      message: '获取出售中的商品成功！',
      data: results,
    })
  })
  }

  // 审核中
  exports.checkList=(req,res)=>{
    const sql = 'select * from active_cate  where checkFlag=0 and is_delete=0 order by id asc'
    db.query(sql, (err, results) => {
      // 1. 执行 SQL 语句失败
      if (err) return res.cc(err)
  
      // 2. 执行 SQL 语句成功
      res.send({
        status: 0,
        message: '获取审核中的商品成功！',
        data: results,
      })
    })
    }

    // 已下架
    exports.stateList=(req,res)=>{
      const sql = 'select * from active_cate  where putaway=0 and is_delete=0 order by id asc'
      db.query(sql, (err, results) => {
        // 1. 执行 SQL 语句失败
        if (err) return res.cc(err)
    
        // 2. 执行 SQL 语句成功
        res.send({
          status: 0,
          message: '获取已下架的商品成功！',
          data: results,
        })
      })
      }

      // 库存警告
      exports.inventoryWarn=(req,res)=>{
        const sql = 'select * from active_cate  where inventoryError<=10 and is_delete=0 order by id asc'
        db.query(sql, (err, results) => {
          // 1. 执行 SQL 语句失败
          if (err) return res.cc(err)
      
          // 2. 执行 SQL 语句成功
          res.send({
            status: 0,
            message: '获取库存警告的商品成功！',
            data: results,
          })
        })
        }

        // 添加商品轮播
// 修改
exports.addSwiper = (req, res) => {
  // 定义查询 分类名称 与 分类别名 是否被占用的 SQL 语句

  // TODO：更新文章分类
  const sql = `update active_cate set ? where id=?`
  console.log(req.body);
  db.query(sql, [req.body, req.body.id], (err, results) => {
    // 执行 SQL 语句失败
    if (err) return res.cc(err)

    // SQL 语句执行成功，但是影响行数不等于 1

    // 更新文章分类成功
    res.cc('更新商品成功！', 0)
  })
}